#app {

    .main-container {
        height: calc(100% - 40px - 60px);
        transition: margin-left .28s;
        margin-left: $sideBarWidth;
        position: relative;
        padding-bottom: 10px;
    }

    .sidebar-container {
        transition: width 0.28s;
        width: $sideBarWidth !important;
        background-color: $menuBg;
        height: calc(100% - 40px);
        position: fixed;
        font-size: 0px;
        top: 40px;
        bottom: 0;
        left: 0;
        z-index: 1001;
        overflow: hidden;

        // reset element-ui css
        .horizontal-collapse-transition {
            transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
        }

        .scrollbar-wrapper {
            overflow-x: hidden !important;
        }

        .el-scrollbar__bar.is-vertical {
            right: 0px;
        }

        .el-scrollbar {
            height: 100%;
        }

        &.has-logo {
            .el-scrollbar {
                height: calc(100% - 50px);
            }
        }

        .is-horizontal {
            display: none;
        }

        a {
            display: inline-block;
            width: 100%;
            overflow: hidden;
        }

        .svg-icon {
            margin-right: 16px;
        }

        .el-menu {
            border: none;
            height: 100%;
            width: 100% !important;
        }

        // menu hover
        .submenu-title-noDropdown,
        .el-submenu__title {
            &:hover {
                background-color: $menuHover !important;
            }
        }

        .is-active > .el-submenu__title {
            color: $subMenuActiveText !important;
        }

        & .nest-menu .el-submenu > .el-submenu__title,
        & .el-submenu .el-menu-item {
            min-width: $sideBarWidth !important;
            background-color: $subMenuBg !important;

            &:hover {
                background-color: $subMenuHover !important;
            }
        }
        // 重写侧边栏样式(目前仅适用二级菜单，如有三级菜单，去除子选择符，单独调整)
        .sidebar-container-menu {
            .el-scrollbar__view {
                .el-menu-item {
                    height: 42px;
                    line-height: 42px;
                }
                & > .el-menu {
                    & > div {
                        // 一级菜单
                        & > a {
                            .el-menu-item {
                                margin: 0 5px 5px;
                                background: $menuHover !important;
                                &.is-active {
                                    background: $menuActiveBg !important;
                                }
                                &:hover {
                                    background: rgba(75, 82, 102, 0.8) !important;
                                }
                            }
                        }
                        // 一级菜单有下拉的
                        & > .el-submenu {
                            & > .el-submenu__title {
                                margin: 0 5px 5px;
                                background: #4B5266 !important;
                            }
                            & > .el-menu {
                                & > div {
                                    // 二级菜单
                                    & > a {
                                        width: calc(100% - 5px);
                                        .el-menu-item {
                                            margin: 0 5px 5px;
                                            background: transparent !important;
                                            &:hover {
                                                background: $menuHover !important;
                                            }
                                            &.is-active {
                                                background: $menuActiveBg !important;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                .el-submenu__title {
                    height: 42px;
                    line-height: 42px;
                }
            }
        }
    }

    .hideSidebar {
        // 收起菜单栏宽度
        .sidebar-container {
            width: 80px !important;
        }

        .main-container {
            margin-left: 80px;
        }

        .submenu-title-noDropdown {
            padding: 0 !important;
            position: relative;

            .el-tooltip {
                padding: 0 !important;

                .svg-icon {
                    margin-left: 20px;
                }
            }
        }

        .el-submenu {
            overflow: hidden;

            & > .el-submenu__title {
                padding: 0 !important;

                .svg-icon {
                    margin-left: 20px;
                }

                .el-submenu__icon-arrow {
                    display: none;
                }
            }
        }

        // 侧边栏收起后
        .el-menu--collapse {
            .el-submenu {
                & > .el-submenu__title {
                    & > span {
                        //height: 0;
                        //width: 0;
                        overflow: hidden;
                        //visibility: hidden;
                        display: inline-block;
                    }
                }
            }
        }
        .el-scrollbar__view {
            ul {
                div {
                    a {
                        .el-menu-item {
                            height: 76px !important;
                            display: flex !important;
                            justify-content: center;
                            align-content: center;
                            flex-wrap: wrap;
                            .svg-icon {
                                margin: 0 10px 4px;
                                width: 24px;
                                height: 24px;
                            }
                            span {
                                line-height: 18px;
                            }
                        }
                    }
                    .el-submenu {
                        .el-submenu__title {
                            height: 76px !important;
                            display: flex;
                            justify-content: center;
                            align-content: center;
                            flex-wrap: wrap;
                            .svg-icon {
                                margin: 0 10px 4px;
                                width: 24px;
                                height: 24px;
                            }
                            span {
                                line-height: 18px;
                            }
                        }
                    }
                }
            }
        }
    }

    .el-menu--collapse .el-menu .el-submenu {
        min-width: $sideBarWidth !important;
    }

    // mobile responsive
    .mobile {
        .main-container {
            margin-left: 0px;
        }

        .sidebar-container {
            transition: transform .28s;
            width: $sideBarWidth !important;
        }

        &.hideSidebar {
            .sidebar-container {
                pointer-events: none;
                transition-duration: 0.3s;
                transform: translate3d(-$sideBarWidth, 0, 0);
            }
        }
    }

    .withoutAnimation {

        .main-container,
        .sidebar-container {
            transition: none;
        }
    }
}

// when menu collapsed
.el-menu--vertical {
    & > .el-menu {
        .svg-icon {
            margin-right: 16px;
        }
    }

    .nest-menu .el-submenu > .el-submenu__title,
    .el-menu-item {
        &:hover {
            // you can use $subMenuHover
            background-color: $menuHover !important;
        }
    }

    // the scroll bar appears when the subMenu is too long
    > .el-menu--popup {
        max-height: 100vh;
        overflow-y: auto;
        .el-menu-item {
            height: 42px;
            line-height: 42px;
        }
        .el-submenu__title {
            height: 42px;
            line-height: 42px;
        }

        &::-webkit-scrollbar-track-piece {
            background: #d3dce6;
        }

        &::-webkit-scrollbar {
            width: 6px;
        }

        &::-webkit-scrollbar-thumb {
            background: #99a9bf;
            border-radius: 20px;
        }
    }
}
